Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks. A local area network (LAN) is an example of a subnetwork that provides relatively short-distance communication among the interconnected stations. In contrast, a wide area network (WAN) facilitates long-distance communication over links provided by public or private telecommunications facilities. The entities are typically software programs executing on hardware computer platforms which, depending on their roles within the network, may serve as end stations or intermediate stations. Examples of intermediate stations include routers, bridges and switches that interconnect communication links and subnetworks, whereas an end station may be a computer located on one of the subnetworks. More generally, an end station connotes a source of or target for data that typically does not provide routing or other services to other computers on the network.
End stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. In this context, a protocol represents a set of rules defining how the stations interact with each other to transfer data. The traffic flowing into a network device—e.g., a router, switch, bridge, server, and the like—is generally made up of multiple abstraction layers (e.g., the Open Systems Interconnection (OSI) model). Each of these logical layers generally relates to communications functions of a similar nature. For instance, layer 2 of the OSI model is known as the data link layer and uses physical addressing (e.g., Media Access Control (MAC) addresses) for switching traffic. Layer 2 encapsulation generally provides the mechanism for transferring data between network entities, and can also be used for error correction for layer 1. As another example, layer 3 traffic is known as network layer traffic and uses logical addressing (e.g., Internet Protocol (IP) addresses) for routing traffic. Layer 3 encapsulation generally provides the mechanism for transmitting data between a source host on a first network to a destination host located on a second network.
Domain name system (DNS) is fundamental component of the Internet and is widely used today. Generally, DNS is a system that allows network resources to request IP address information relating to a particular domain name. For instance, a network resource (e.g., a computer connected to the network) can generate and transmit a DNS request to a DNS server, where the DNS request specifies a domain name associated with a remote service. The DNS server can then access a repository mapping domain names to IP addresses, and return the IP address corresponding to the specified domain name to the network entity. When the remote service's IP address changes, such a change can be pushed to the DNS server, which updates its repository accordingly. Doing so allows the network location (i.e., as indicated by the service's IP address) of the remote service to change, without affecting end users who may still continue to use the remote service's domain name.